#pragma once
#include "DXAMLCommon.h"
#include "IXcpTouchInteractionElement.h"
#include "IPALDirectManipulationService.h"
#include "IXcpInputPaneHandler.h"
#include "IPALInputPaneInteraction.h"
#include "IPALTouchInteraction.h"

class IPALTouchInteractionServices
{
public:
	virtual HRESULT      IsDirectManipulationSupported( XUINT32 *isDirectManipulationSupported) = 0;
	virtual XUINT32      IsPointerInfoValid( XUINT32 pointerId) = 0;
	virtual HRESULT      GetTouchInteraction( IXcpTouchInteractionElement *pElement, XUINT32 bTabEnabled, XUINT32 bDoubleTabEnabled, XUINT32 bRightTabEnabled, XUINT32 bHoldEnabled, XUINT32 uiManipulationMode, IPALTouchInteraction **ppTouchInteraction) = 0;
	virtual HRESULT      GetDirectManipulationService( IPALDirectManipulationService **ppDirectManipulationService) = 0;
	virtual HRESULT      GetInputPaneInteraction( void *hWindow, IXcpInputPaneHandler *pInputPaneHandler, IPALInputPaneInteraction **ppInputPaneInteraction) = 0;

};